// Copyright 2012 Mozilla Corporation. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
es5id: 9.2.1_1
description: >
    Tests that canonicalization of locale lists treats undefined and
    empty lists the same.
author: Norbert Lindenberg
includes: [testIntl.js]
---*/

function Test() {
    testWithIntlConstructors(function (Constructor) {
        var supportedForUndefined = Constructor.supportedLocalesOf(undefined);
        var supportedForEmptyList = Constructor.supportedLocalesOf([]);
        assert.sameValue(supportedForUndefined.length, supportedForEmptyList.length, "Supported locales differ between undefined and empty list input.");
        // we don't compare the elements because length should be 0 - let's just verify that
        assert.sameValue(supportedForUndefined.length, 0, "Internal test error: Assumption about length being 0 is invalid.");
    });
}

// preheat
const NUMBER_OF_PREHEAT = 1;
for (let i = 0; i < NUMBER_OF_PREHEAT; i++) {
    Test();
}

ArkTools.jitCompileAsync(Test);
assert.sameValue(ArkTools.waitJitCompileFinish(Test), true, '[JIT] JIT disabled.');

// test
const NUMBER_OF_TEST = 1; // or 2
for (let i = 0; i < NUMBER_OF_PREHEAT; i++) {
    Test();
}
